const expressJwt = require("express-jwt");
const { secretKey } = require("./salt");

// 用来生成 token，包含一些签名的算法
const jwt = require("jsonwebtoken");
// cookie
// 验证 token
const jwtAuth = expressJwt({
  secret: secretKey,
  algorithms: ["HS256"],
  credentialsRequired: true // false：不校验
}).unless({
  // 哪些路径需要忽略
  path: ["/users/login", "/users/reg"]
});

// 生成 token
const createToken = payload =>
  jwt.sign(payload, secretKey, {
    expiresIn: 60 * 60 * 240 // 秒
  });

module.exports = { jwtAuth, createToken };
